/* Es wird ein Tab erzeugt  das
 * dann auf einem JPanel eingebunden wird.
 *  
 * 
 * Datei: Benutzerdaten.java   Autor: Johannes Reinhard
 * Datum: 22.11.2011                   Version: 0.2 
 * 
 * Historie: 22.11.2011 Johannes Reinhard / Klassen angelegt. 
 *           23.11.2011 Johannes Reinhard / Oberflaeche implementiert.
 *
 */
package GUI;
import java.awt.Dimension;
import java.awt.GridLayout;
import javax.swing.JLabel;
import javax.swing.JPanel;
import personenverwaltung.*;


public class Benutzerdaten
{
  private JPanel jpanelProfilGUI;      /* Haupt JPanel */
  private Dashboard sichereDashboard;
  protected Dimension bildschirm;        /* Bildschirmgroesse*/
  protected int nutzerID;
  protected Benutzer nutzer;
  protected WechselSprache sprache;

  /**
   * Konstruktor der Klasse StandortGUI
   * @param bord
   */
  protected Benutzerdaten (Dashboard bord)
  {
    sichereDashboard = bord;
    bildschirm = sichereDashboard.gibBildschirmgroesse ();
    nutzerID = Dashboard.nutzerID;
    nutzer = sichereDashboard.persVer.gibBenutzer (nutzerID);
    erzeugeBenutzerdaten ();
  }
  
  /**
   * Erzeuge ein Test JPanel das dann eingebunden wird
   */
  private void erzeugeBenutzerdaten ()
  { 
    jpanelProfilGUI = new JPanel ();
    JLabel anrede = new JLabel ();
    JLabel namenszusatz = new JLabel ();
    JLabel titel = new JLabel ();
    JLabel vorname = new JLabel ();
	  
    /* Ein JLabel was einen Nutzerspezifischen wert anzeiegt wird
     * initialisiert.
     */
    if (nutzer.gibAnrede () == null)
    {
      /*Es soll kein null dastehten, da es verwirrent sein koennte.*/ 
    }
    else
    {
      anrede = new JLabel (nutzer.gibAnrede () + "");
    }
    /* Ein JLabel was einen Nutzerspezifischen wert anzeiegt wird
     * initialisiert.
     */
    if (nutzer.gibNamenszusatz () == null)
    {
      /*Es soll kein null dastehten, da es verwirrent sein koennte.*/ 
    }
    else
    {
      namenszusatz = new JLabel (nutzer.gibNamenszusatz () + "");
    }
    if (nutzer.gibTitel () == null)
    {
      /*Es soll kein null dastehten, da es verwirrent sein koennte.*/ 
    }
    else
    {
      titel = new JLabel (nutzer.gibTitel () + "");
    }
    
    /* Ein JLabel was einen Nutzerspezifischen wert anzeiegt wird
     * initialisiert.
     */
    if (nutzer.gibVornamen () == null)
    {
      /*Es soll kein null dastehten, da es verwirrent sein koennte.*/
    }
    else
    {
      vorname = new JLabel (nutzer.gibVornamen ());
    }
    JLabel weiterevorname = new JLabel (nutzer.gibWeitereVornamen ());
    JLabel nachname = new JLabel (nutzer.gibNachname ());
    
    /* JLabels mit besonderen anforderungen. */
    JLabel telefonnumer  = new JLabel ();
    JLabel email = new JLabel ();
    JLabel plz = new JLabel ();
    JLabel ort = new JLabel ();
    
    /* Geburtstdatum  */
    String g_datum = nutzer.gibGebDatum ().gibTag () + "." +
	nutzer.gibGebDatum ().gibMonat () + "."  +
    nutzer.gibGebDatum ().gibJahr ();
    
    JLabel geburtstdatum = new JLabel (g_datum);
    
    
    /* Weil diese Datenfelder probleme machen, wenn sie nicht gesetzt
     * sind. Deswegen muessen sie gefangen werden. */
    try
    {
      telefonnumer.setText (nutzer.gibTelefonnummernListe ().get (0).gibTelefonnummer ());
    }
    catch (Exception e)
    {
    }
    
    try
    {
      email.setText (nutzer.gibEmailListe ().get (0).gibEmail () + "");
    }
    catch (Exception e)
    {
    }
    try
    {
      plz.setText (nutzer.gibHauptAdresse ().gibPLZ () + "");
    }
    catch (Exception e)
    {
    }
    try
    {
      ort.setText (nutzer.gibHauptAdresse ().gibOrt ());
    }
    catch (Exception e)
    {
    }
    
    /* Rechte werden eingeblendet */
    JLabel ausleidauher = new JLabel (nutzer.gibRechte ().gibAusleihdauer () + ""); 
    JLabel verlaengerungsdauer = new JLabel (nutzer.gibRechte ().gibVerlaengerungsdauer () + ""); 
    
    /*Diese Daten werden in keinem Fall angezeigt. */
    JLabel loginname = new JLabel ("******************"); 
    JLabel loginpasswort = new JLabel ("******************");
    
    /* Uebersetzung */
    JLabel txt_anrede = new JLabel (
	Dashboard.sprache.lokal.gibUebersetzung ("anrede")); 
    JLabel txt_namenszusatz = new JLabel (
	Dashboard.sprache.lokal.gibUebersetzung ("namenszusatz"));
    JLabel txt_titel = new JLabel (
	Dashboard.sprache.lokal.gibUebersetzung ("titel"));
    JLabel txt_vorname = new JLabel (
        Dashboard.sprache.lokal.gibUebersetzung ("vorname"));
    JLabel txt_weiterevorname = new JLabel (
        Dashboard.sprache.lokal.gibUebersetzung ("weiterevornamen"));
    JLabel txt_nachname = new JLabel (
        Dashboard.sprache.lokal.gibUebersetzung ("nachname"));
    JLabel txt_geburtstdatum = new JLabel (
        Dashboard.sprache.lokal.gibUebersetzung ("geburtsdatum"));
    JLabel txt_telefonnumer = new JLabel (
        Dashboard.sprache.lokal.gibUebersetzung ("telefonnummer"));
    JLabel txt_email = new JLabel (
        Dashboard.sprache.lokal.gibUebersetzung ("email"));
    JLabel txt_plz = new JLabel (
        Dashboard.sprache.lokal.gibUebersetzung ("plz"));
    JLabel txt_ort = new JLabel (
        Dashboard.sprache.lokal.gibUebersetzung ("adresse"));
    JLabel txt_ausleidauher = new JLabel (
        Dashboard.sprache.lokal.gibUebersetzung ("ausleihdauer"));
    JLabel txt_verlaengerungsdauer = new JLabel (
        Dashboard.sprache.lokal.gibUebersetzung ("verlaengerung"));
    JLabel txt_loginname = new JLabel (
        Dashboard.sprache.lokal.gibUebersetzung ("loginname"));
    JLabel txt_loginpasswort = new JLabel (
        Dashboard.sprache.lokal.gibUebersetzung ("loginpasswort"));
    

    /* Platieung der Elemente auf der Oberflaeche. */
    jpanelProfilGUI.setLayout (new GridLayout (0, 2));
    jpanelProfilGUI.add (txt_anrede);
    jpanelProfilGUI.add (anrede);
    jpanelProfilGUI.add (txt_namenszusatz);
    jpanelProfilGUI.add (namenszusatz);
    jpanelProfilGUI.add (txt_titel);
    jpanelProfilGUI.add (titel);
    jpanelProfilGUI.add (txt_vorname);
    jpanelProfilGUI.add (vorname);
    jpanelProfilGUI.add (txt_weiterevorname);
    jpanelProfilGUI.add (weiterevorname);
    jpanelProfilGUI.add (txt_nachname);
    jpanelProfilGUI.add (nachname);
    jpanelProfilGUI.add (txt_geburtstdatum);
    jpanelProfilGUI.add (geburtstdatum);
    jpanelProfilGUI.add (txt_telefonnumer);
    jpanelProfilGUI.add (telefonnumer);
    jpanelProfilGUI.add (txt_email);
    jpanelProfilGUI.add (email);
    jpanelProfilGUI.add (txt_plz);
    jpanelProfilGUI.add (plz);
    jpanelProfilGUI.add (txt_ort);
    jpanelProfilGUI.add (ort);
    jpanelProfilGUI.add (txt_ausleidauher);
    jpanelProfilGUI.add (ausleidauher);
    jpanelProfilGUI.add (txt_verlaengerungsdauer);
    jpanelProfilGUI.add (verlaengerungsdauer);
    jpanelProfilGUI.add (txt_loginname);
    jpanelProfilGUI.add (loginname);
    jpanelProfilGUI.add (txt_loginpasswort);
    jpanelProfilGUI.add (loginpasswort);
  }
  
  /**
   * Gibt das hauptJPanel zurueck
   * @return JPanel
   */
  protected JPanel getJPanelProfilGUI ()
  {		  
    return jpanelProfilGUI;
  }
}